package base.reflect;

/**
 * @Author Fizz Pu
 * @Date 2021/4/1 下午10:26
 * @Version 1.0
 * 失之毫厘，缪之千里！
 */
import java.lang.reflect.Method;
public class InvokeMethod {
    public static void main(String[] args) throws Exception {
        Class<?> clazz = Class.forName("base.reflect.InvokeMethod");
        // 调用TestReflect类中的reflect1方法
        Method method = clazz.getMethod("reflect1");
        method.invoke(clazz.newInstance());
        // Java 反射机制 - 调用某个类的方法1.
        method = clazz.getMethod("reflect2", int.class, String.class);
        method.invoke(clazz.newInstance(), 20, "张三");
        // Java 反射机制 - 调用某个类的方法2.
        // age -> 20. name -> 张三
    }
    public void reflect1() {
        System.out.println("Java 反射机制 - 调用某个类的方法1.");
    }
    public void reflect2(int age, String name) {
        System.out.println("Java 反射机制 - 调用某个类的方法2.");
        System.out.println("age -> " + age + ". name -> " + name);
    }
}
